<!DOCTYPE html>
<html lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>dev_get_exception_data [HALCON算子参考手册]</title>
<style type="text/css">
      body {
    color: #000000;
    background-color: #ffffff;
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
}

.body_main {
    margin-left: 35px;
    margin-right: 35px;
}

@media screen and (min-width:992px) {

    .body_main {
        margin-left: 10%;
        margin-right: 10%;
    }

    table.toctable {
        width: 80%
    }
}

@media screen and (min-width:1400px) {

    .body_main {
        margin-left: 15%;
        margin-right: 15%;
    }

    table.toctable {
        width: 70%
    }
}

body>div ul ul {
    margin-left: inherit;
}

a:link {
    color: #0044cc;
}

a:link,
a:visited {
    text-decoration: none;
}

a:link:hover,
a:visited:hover {
    text-decoration: underline;
}

th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    text-rendering: optimizeLegibility;
    color: #666666;
}

code {
    font-family: monospace,monospace;
}

h1 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

h2 a.halconoperator {
    font-family: Arial, Helvetica, sans-serif;
    color: #666666;
}

hr {
    border: 0;
    border-top: solid 1px #f28d26;
}

.pre {
    display: block;
    padding-bottom: 1ex;
    font-family: monospace;
    white-space: pre;
}

pre {
    font-family: monospace, monospace;
    padding: 1ex;
    white-space: pre-wrap;
}

.toc {
    font-size: 80%;
    border-top: 1px dashed #f28d26;
    border-bottom: 1px dashed #f28d26;
    padding-top: 5px;
    padding-bottom: 5px;
}

.inv {
    margin: 0;
    border: 0;
    padding: 0;
}

.banner {
    color: #666666;
    padding-left: 1em;
}

.logo {
    background-color: white;
}

.keyboard {
    font-size: 80%;
    padding-left: 3px;
    padding-right: 3px;
    border-radius: 5px;
    border-width: 1px;
    border-style: solid;
    border-color: #f28d26;
    background-color: #f3f3f3;
}

.warning {
    margin-top: 2ex;
    margin-bottom: 1ex;
    padding: 10px;
    text-align: center;
    border: 1px solid;
    color: #bb0000;
    background-color: #fff7f7
}

.imprint {
    margin-top: 1ex;
    font-size: 80%;
    color: #666666;
}

.imprinthead {
    font-weight: bolder;
    color: #666666;
}

.indexlink {
    text-align: right;
    padding-bottom: 5px;
}

.postscript {
    margin-top: 2ex;
    font-size: 80%;
    color: #666666
}

.evenrow {
    background-color: #e7e7ef;
    vertical-align: top;
}

.oddrow {
    background-color: #f7f7ff;
    vertical-align: top;
}

.headrow {
    background-color: #97979f;
    color: #ffffff;
    vertical-align: top;
}

.logorow {
    vertical-align: top;
}

.error {
    color: red;
}

.var {
    font-style: italic
}

.halconoperator {
    font-family: monospace, monospace;
}

span.operator {
    font-family: monospace, monospace;
}

span.procedure {
    font-family: monospace, monospace;
}

span.operation {
    font-family: monospace, monospace;
}

span.feature {
    font-family: Arial, Helvetica, Homerton, sans-serif;
}

ul {
    padding-left: 1.2em;
}

li.dot {
    list-style-type: square;
    color: #f28d26;
}

.breadcrumb {
    font-size: 80%;
    color: white;
    background-color: #062d64;
    margin-bottom: 20px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 15px;
}

.webbar {
    font-size: 80%;
    background-color: #dddddd;
    margin-top: 0px;
    margin-left: -35px;
    margin-right: -35px;
    margin-bottom: 0px;
    padding-top: 5px;
    padding-left: 35px;
    padding-right: 35px;
    padding-bottom: 5px;
}

.footer {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    border-top: 1px dashed #f28d26;
    font-size: 80%;
    color: #666666;
    padding-bottom: 8px;
}

.footer .socialmedia a {
    padding-left: 7px;
}

.socialmedia {
    padding-top: 10px;
}

.copyright {
    margin-top: 19px;
}

.breadcrumb a {
    color: #ffffff;
    border-bottom: 1px solid white;
}

.breadcrumb a:link:hover,
.breadcrumb a:visited:hover {
    text-decoration: none;
    border-bottom: none;
}

.heading {
    margin-top: 1ex;
    font-size: 110%;
    font-weight: bold;
    color: #666666;
}

.text {
    color: black;
}

.example {
    font-size: 80%;
    background-color: #f3f3f3;
    border: 1px dashed #666666;
    padding: 10px;
}

.displaymath {
    display: block;
    text-align: center;
    margin-top: 1ex;
    margin-bottom: 1ex;
}

.title {
    float: left;
    padding-top: 3px;
    padding-bottom: 3px;
}

.signnote {
    font-family: Arial, Helvetica, Homerton, sans-serif;
    font-size: 80%;
    color: #666666;
    font-weight: lighter;
    font-style: italic
}

.par {
    margin-bottom: 1.5em;
}

.parhead {
    text-align: right;
}

.parname {
    float: left;
}

.pardesc {
    font-size: 85%;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-left: 2em;
}

.parcat {
    color: #666;
    font-weight: bold;
}

*[data-if=cpp],
*[data-if=c],
*[data-if=dotnet],
*[data-if=com],
*[data-if=python] {
    display: none;
}

.tabbar {
    text-align: right;
    border-bottom: 1px solid #f28d26;
    margin-bottom: 0.5em;
}

ul.tabs {
    padding-top: 3px;
    padding-bottom: 3px;
    margin-top: 10px;
    margin-bottom: 0;
    font-size: 80%
}

ul.tabs li {
    padding-top: 3px;
    padding-bottom: 3px;
    display: inline;
    overflow: hidden;
    list-style-type: none;
    margin: 0;
    margin-left: 8px;
    border-top: 1px solid #666;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
}

ul.tabs li.active {
    border-left: 1px solid #f28d26;
    border-right: 1px solid #f28d26;
    border-top: 1px solid #f28d26;
    border-bottom: 1px solid #fff;
}

ul.tabs li.inactive {
    background-color: #eee;
}

ul.tabs li a {
    padding-left: 5px;
    padding-right: 5px;
    color: #666;
}

ul.tabs li a:link:hover {
    text-decoration: none;
}

ul.tabs li.inactive a {
    color: #666;
}

ul.tabs li.active a {
    color: black;
}

dl.generic dd {
    margin-bottom: 1em;
}

.pari {
    color: olive;
}

.paro {
    color: maroon;
}

.comment {
    font-size: 80%;
    color: green;
    white-space: nowrap;
}

table.grid {
    border-collapse: collapse;
}

table.grid td {
    padding: 5px;
    border: 1px solid;
}

table.layout {
    border: 0px;
}

table.layout td {
    padding: 5px;
}

table.table {
    border-collapse: collapse;
}

table.table td {
    padding: 5px;
    border-left: 0px;
    border-right: 0px;
}

table.table tr:last-child {
    border-bottom: 1px solid;
}

table.table th {
    padding: 5px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    border-left: 0px;
    border-right: 0px;
}

.details_summary {
    cursor: pointer;
}

table.toctable {
    width: 100%;
}

table.toctable col:first-child {
    width: 20%;
}

table.toctable col:nth-last-child(2) {
    width: 8%;
}

table.altcolored tr:nth-child(even) {
    background-color: #f3f3f3;
}

    </style>
<!--OP_REF_STYLE_END-->
<script>
    <!--
var active_lang='hdevelop';function switchVisibility(obj,active_lang,new_lang)
{var display_style='inline';
for(var i=0;i<obj.length;i++)
{if(obj.item(i).getAttribute('data-if')==new_lang)
{obj.item(i).style.display=display_style;}
if(obj.item(i).getAttribute('data-if')==active_lang)
{obj.item(i).style.display='none';}}
return;}
function toggleLanguage(new_lang,initial)
{if(active_lang!=new_lang)
{var lis=document.getElementsByTagName('li');for(var i=0;i<lis.length;i++)
{if(lis.item(i).id=='syn-'+new_lang)
{lis.item(i).className='active';}
else
{lis.item(i).className='inactive';}}
var divs=document.getElementsByTagName('div');var spans=document.getElementsByTagName('span');switchVisibility(divs,active_lang,new_lang);switchVisibility(spans,active_lang,new_lang);if(!initial)
{setCookie("halcon_reference_language",new_lang,null,null);}
active_lang=new_lang;}
return;}
function setCookie(name,value,domain,exp_offset,path,secure)
{localStorage.setItem(name,value);}
function getCookie(name)
{return localStorage.getItem(name);}
function initialize()
{var qs=location.href.split('?')[1];var qs_lang_raw=location.href.split('interface=')[1];var qs_lang;if(qs_lang_raw)
{qs_lang=qs_lang_raw.split('#')[0];}
var cookie_lang=getCookie("halcon_reference_language");var new_lang;if((qs_lang=="hdevelop")||(qs_lang=="dotnet")||(qs_lang=="python")||(qs_lang=="cpp")||(qs_lang=="c"))
{new_lang=qs_lang;setCookie("halcon_reference_language",new_lang,null,null);}
else if((cookie_lang=="hdevelop")||(cookie_lang=="dotnet")||(cookie_lang=="python")||(cookie_lang=="cpp")||(cookie_lang=="c"))
{new_lang=cookie_lang;}
else
{new_lang="hdevelop";}
toggleLanguage(new_lang,1);return;}
-->

  </script>
</head>
<body onload="initialize();">
<div class="breadcrumb">
<br class="inv"><a href="index.html">目录</a> / <a href="toc_develop.html">Develop</a><br class="inv">
</div>
<div class="body_main">
<div class="tabbar"><ul class="tabs">
<li id="syn-hdevelop" class="active"><a href="javascript:void(0);" onclick="toggleLanguage('hdevelop')" onfocus="blur()">HDevelop</a></li>
<li id="syn-dotnet" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('dotnet')" onfocus="blur()">.NET</a></li>
<li id="syn-python" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('python')" onfocus="blur()">Python</a></li>
<li id="syn-cpp" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('cpp')" onfocus="blur()">C++</a></li>
<li id="syn-c" class="inactive"><a href="javascript:void(0);" onclick="toggleLanguage('c')" onfocus="blur()">C</a></li>
</ul></div>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div data-if="dotnet" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="cpp" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="c" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="python" style="display:none"><p>Use the tabs on the upper right to switch to a different programming language.</p></div>
<div data-if="hdevelop" style="display:inline">
<!--OP_REF_HEADER_END-->
<h1 id="sec_name">
<span data-if="hdevelop" style="display:inline;">dev_get_exception_data</span><span data-if="c" style="display:none;">T_dev_get_exception_data</span><span data-if="cpp" style="display:none;">DevGetExceptionData</span><span data-if="dotnet" style="display:none;">DevGetExceptionData</span><span data-if="python" style="display:none;">dev_get_exception_data</span> (算子名称)</h1>
<h2>名称</h2>
<p><code><span data-if="hdevelop" style="display:inline;">dev_get_exception_data</span><span data-if="c" style="display:none;">T_dev_get_exception_data</span><span data-if="cpp" style="display:none;">DevGetExceptionData</span><span data-if="dotnet" style="display:none;">DevGetExceptionData</span><span data-if="python" style="display:none;">dev_get_exception_data</span></code> — Access the elements of an exception tuple.</p>
<h2 id="sec_synopsis">参数签名</h2>
<div data-if="hdevelop" style="display:inline;">
<p>
<code><b>dev_get_exception_data</b>( :  : <a href="#Exception"><i>Exception</i></a>, <a href="#Name"><i>Name</i></a> : <a href="#Value"><i>Value</i></a>)</code></p>
</div>
<div data-if="c" style="display:none;">
<p>
<code>Herror <b>T_dev_get_exception_data</b>(const Htuple <a href="#Exception"><i>Exception</i></a>, const Htuple <a href="#Name"><i>Name</i></a>, Htuple* <a href="#Value"><i>Value</i></a>)</code></p>
</div>
<div data-if="cpp" style="display:none;">
<p>
<code>void <b>DevGetExceptionData</b>(const HTuple&amp; <a href="#Exception"><i>Exception</i></a>, const HTuple&amp; <a href="#Name"><i>Name</i></a>, HTuple* <a href="#Value"><i>Value</i></a>)</code></p>
</div>
<div data-if="com" style="display:none;"></div>
<div data-if="dotnet" style="display:none;">
<p>
<code>static void <a href="HOperatorSet.html">HOperatorSet</a>.<b>DevGetExceptionData</b>(<a href="HTuple.html">HTuple</a> <a href="#Exception"><i>exception</i></a>, <a href="HTuple.html">HTuple</a> <a href="#Name"><i>name</i></a>, out <a href="HTuple.html">HTuple</a> <a href="#Value"><i>value</i></a>)</code></p>
</div>
<div data-if="python" style="display:none;">
<p>
<code>def <b>dev_get_exception_data</b>(<a href="#Exception"><i>exception</i></a>: Sequence[Union[int, str]], <a href="#Name"><i>name</i></a>: MaybeSequence[str]) -&gt; Sequence[Union[int, str]]</code></p>
</div>
<h2 id="sec_description">描述</h2>
<p>该算子 <code><span data-if="hdevelop" style="display:inline">dev_get_exception_data</span><span data-if="c" style="display:none">dev_get_exception_data</span><span data-if="cpp" style="display:none">DevGetExceptionData</span><span data-if="com" style="display:none">DevGetExceptionData</span><span data-if="dotnet" style="display:none">DevGetExceptionData</span><span data-if="python" style="display:none">dev_get_exception_data</span></code> enables to access specific
items of an exception tuple that was caught by 该算子 <a href="catch.html"><code><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></code></a>.
Except the error code that is always passed as the first element of the
exception tuple all other data of the exception tuple has to be accessed
exclusively via 该算子 <code><span data-if="hdevelop" style="display:inline">dev_get_exception_data</span><span data-if="c" style="display:none">dev_get_exception_data</span><span data-if="cpp" style="display:none">DevGetExceptionData</span><span data-if="com" style="display:none">DevGetExceptionData</span><span data-if="dotnet" style="display:none">DevGetExceptionData</span><span data-if="python" style="display:none">dev_get_exception_data</span></code>.
This is due to the fact that the order and the extent of the provided data
may change in future versions and may vary for the different code exports.
</p>
<p>If an operator error occurred within HDevelop or HDevEngine, the caught
exception tuple contains the data items listed below.
This tuple has to be passed to the parameter <a href="#Exception"><i><code><span data-if="hdevelop" style="display:inline">Exception</span><span data-if="c" style="display:none">Exception</span><span data-if="cpp" style="display:none">Exception</span><span data-if="com" style="display:none">Exception</span><span data-if="dotnet" style="display:none">exception</span><span data-if="python" style="display:none">exception</span></code></i></a>.
The name of the requested data slot has to be passed to the parameter
<a href="#Name"><i><code><span data-if="hdevelop" style="display:inline">Name</span><span data-if="c" style="display:none">Name</span><span data-if="cpp" style="display:none">Name</span><span data-if="com" style="display:none">Name</span><span data-if="dotnet" style="display:none">name</span><span data-if="python" style="display:none">name</span></code></i></a>.
The requested data is returned in the parameter <a href="#Value"><i><code><span data-if="hdevelop" style="display:inline">Value</span><span data-if="c" style="display:none">Value</span><span data-if="cpp" style="display:none">Value</span><span data-if="com" style="display:none">Value</span><span data-if="dotnet" style="display:none">value</span><span data-if="python" style="display:none">value</span></code></i></a>.
By passing a tuple of slot names to <a href="#Name"><i><code><span data-if="hdevelop" style="display:inline">Name</span><span data-if="c" style="display:none">Name</span><span data-if="cpp" style="display:none">Name</span><span data-if="com" style="display:none">Name</span><span data-if="dotnet" style="display:none">name</span><span data-if="python" style="display:none">name</span></code></i></a> it is possible to
request several exception data items in a single call of
<code><span data-if="hdevelop" style="display:inline">dev_get_exception_data</span><span data-if="c" style="display:none">dev_get_exception_data</span><span data-if="cpp" style="display:none">DevGetExceptionData</span><span data-if="com" style="display:none">DevGetExceptionData</span><span data-if="dotnet" style="display:none">DevGetExceptionData</span><span data-if="python" style="display:none">dev_get_exception_data</span></code>.
In that case a corresponding data tuple is returned in <a href="#Value"><i><code><span data-if="hdevelop" style="display:inline">Value</span><span data-if="c" style="display:none">Value</span><span data-if="cpp" style="display:none">Value</span><span data-if="com" style="display:none">Value</span><span data-if="dotnet" style="display:none">value</span><span data-if="python" style="display:none">value</span></code></i></a>.
For requested items that are not available an empty string
(<i><span data-if="hdevelop" style="display:inline">''</span><span data-if="c" style="display:none">""</span><span data-if="cpp" style="display:none">""</span><span data-if="com" style="display:none">""</span><span data-if="dotnet" style="display:none">""</span><span data-if="python" style="display:none">""</span></i>) is returned.
</p>
<p>Note that 该算子 <code><span data-if="hdevelop" style="display:inline">dev_get_exception_data</span><span data-if="c" style="display:none">dev_get_exception_data</span><span data-if="cpp" style="display:none">DevGetExceptionData</span><span data-if="com" style="display:none">DevGetExceptionData</span><span data-if="dotnet" style="display:none">DevGetExceptionData</span><span data-if="python" style="display:none">dev_get_exception_data</span></code> is meant to be used
within HDevelop or HDevEngine. Some information is not available when the
operator is exported.
</p>
<p><b>Supported data slots:</b>
</p>
<dl class="generic">


<dt><b><i><span data-if="hdevelop" style="display:inline">'error_code'</span><span data-if="c" style="display:none">"error_code"</span><span data-if="cpp" style="display:none">"error_code"</span><span data-if="com" style="display:none">"error_code"</span><span data-if="dotnet" style="display:none">"error_code"</span><span data-if="python" style="display:none">"error_code"</span></i>:</b></dt>
<dd>
<p>

HALCON or user defined error code.
A list of HALCON error codes (codes &lt; 10000) can be found in the
appendix of the “Extension Package Programmer's Manual”.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'add_error_code'</span><span data-if="c" style="display:none">"add_error_code"</span><span data-if="cpp" style="display:none">"add_error_code"</span><span data-if="com" style="display:none">"add_error_code"</span><span data-if="dotnet" style="display:none">"add_error_code"</span><span data-if="python" style="display:none">"add_error_code"</span></i>:</b></dt>
<dd>
<p>

Additional HDevelop specific error code.
These error codes specify whether an error was caught within
the HALCON operator (code = 21000) or outside 该算子, e.g.,
during the evaluation and assignment of the parameter expressions.
In the latter case the error code specifies the error type
more precisely.
The relevant error codes are listed in the
<code>“HDevelop User's Guide”</code>.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'error_message'</span><span data-if="c" style="display:none">"error_message"</span><span data-if="cpp" style="display:none">"error_message"</span><span data-if="com" style="display:none">"error_message"</span><span data-if="dotnet" style="display:none">"error_message"</span><span data-if="python" style="display:none">"error_message"</span></i>:</b></dt>
<dd>
<p>

HALCON error message.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'add_error_message'</span><span data-if="c" style="display:none">"add_error_message"</span><span data-if="cpp" style="display:none">"add_error_message"</span><span data-if="com" style="display:none">"add_error_message"</span><span data-if="dotnet" style="display:none">"add_error_message"</span><span data-if="python" style="display:none">"add_error_message"</span></i>:</b></dt>
<dd>
<p>

Additional error message that describes the HDevelop specific
error more precisely.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'program_line'</span><span data-if="c" style="display:none">"program_line"</span><span data-if="cpp" style="display:none">"program_line"</span><span data-if="com" style="display:none">"program_line"</span><span data-if="dotnet" style="display:none">"program_line"</span><span data-if="python" style="display:none">"program_line"</span></i>:</b></dt>
<dd>
<p>

Number of the program line, where the error occurred.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'operator'</span><span data-if="c" style="display:none">"operator"</span><span data-if="cpp" style="display:none">"operator"</span><span data-if="com" style="display:none">"operator"</span><span data-if="dotnet" style="display:none">"operator"</span><span data-if="python" style="display:none">"operator"</span></i>:</b></dt>
<dd>
<p>

Name of 该算子 that threw the exception (if the exception was
thrown in a protected procedure,
'--protected--' is returned instead of
该算子 name).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'call_stack_depth'</span><span data-if="c" style="display:none">"call_stack_depth"</span><span data-if="cpp" style="display:none">"call_stack_depth"</span><span data-if="com" style="display:none">"call_stack_depth"</span><span data-if="dotnet" style="display:none">"call_stack_depth"</span><span data-if="python" style="display:none">"call_stack_depth"</span></i>:</b></dt>
<dd>
<p>

Depth of the call stack (if the error occurred in 'main' a depth of 1
is returned).
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'procedure'</span><span data-if="c" style="display:none">"procedure"</span><span data-if="cpp" style="display:none">"procedure"</span><span data-if="com" style="display:none">"procedure"</span><span data-if="dotnet" style="display:none">"procedure"</span><span data-if="python" style="display:none">"procedure"</span></i>:</b></dt>
<dd>
<p>

Name of the procedure where the error occurred.
</p>
</dd>

<dt><b><i><span data-if="hdevelop" style="display:inline">'user_data'</span><span data-if="c" style="display:none">"user_data"</span><span data-if="cpp" style="display:none">"user_data"</span><span data-if="com" style="display:none">"user_data"</span><span data-if="dotnet" style="display:none">"user_data"</span><span data-if="python" style="display:none">"user_data"</span></i>:</b></dt>
<dd>
<p>

User defined exception tuple.
If an operator exception was caught and rethrown, this is the tuple
that was appended to the caught exception tuple in the call of
<a href="throw.html"><code><span data-if="hdevelop" style="display:inline">throw</span><span data-if="c" style="display:none">throw</span><span data-if="cpp" style="display:none">Throw</span><span data-if="com" style="display:none">Throw</span><span data-if="dotnet" style="display:none">Throw</span><span data-if="python" style="display:none">throw</span></code></a>.
In case of a completely user defined exception all tuple items except
the first element containing the error code (&gt;= 30000)
are returned.
If no user data was passed with the exception tuple, an empty tuple
is returned.
Note, that the user data tuple cannot be requested together with any
other exception data in one <code><span data-if="hdevelop" style="display:inline">dev_get_exception_data</span><span data-if="c" style="display:none">dev_get_exception_data</span><span data-if="cpp" style="display:none">DevGetExceptionData</span><span data-if="com" style="display:none">DevGetExceptionData</span><span data-if="dotnet" style="display:none">DevGetExceptionData</span><span data-if="python" style="display:none">dev_get_exception_data</span></code> call.
</p>
</dd>
</dl>
<h2 id="sec_parameters">参数表</h2>
  <div class="par">
<div class="parhead">
<span id="Exception" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Exception</span><span data-if="c" style="display:none">Exception</span><span data-if="cpp" style="display:none">Exception</span><span data-if="com" style="display:none">Exception</span><span data-if="dotnet" style="display:none">exception</span><span data-if="python" style="display:none">exception</span></code></b> (input_control)  </span><span>exception-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[int, str]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer / </span><span data-if="hdevelop" style="display:inline">string)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">string)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i> / </span><span data-if="cpp" style="display:none">HString)</span><span data-if="c" style="display:none"> (<i>Hlong</i> / </span><span data-if="c" style="display:none">char*)</span></span>
</div>
<p class="pardesc">Tuple containing the exception data or user defined
error codes.</p>
</div>
  <div class="par">
<div class="parhead">
<span id="Name" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Name</span><span data-if="c" style="display:none">Name</span><span data-if="cpp" style="display:none">Name</span><span data-if="com" style="display:none">Name</span><span data-if="dotnet" style="display:none">name</span><span data-if="python" style="display:none">name</span></code></b> (input_control)  </span><span>attribute.name(-array) <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">MaybeSequence[str]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (string)</span><span data-if="dotnet" style="display:none"> (<i>string</i>)</span><span data-if="cpp" style="display:none"> (<i>HString</i>)</span><span data-if="c" style="display:none"> (<i>char*</i>)</span></span>
</div>
<p class="pardesc">Name(s) of the requested exception data.</p>
<p class="pardesc"><span class="parcat">Default:
      </span>
    <span data-if="hdevelop" style="display:inline">'error_code'</span>
    <span data-if="c" style="display:none">"error_code"</span>
    <span data-if="cpp" style="display:none">"error_code"</span>
    <span data-if="com" style="display:none">"error_code"</span>
    <span data-if="dotnet" style="display:none">"error_code"</span>
    <span data-if="python" style="display:none">"error_code"</span>
</p>
<p class="pardesc"><span class="parcat">List of values:
      </span><span data-if="hdevelop" style="display:inline">'add_error_code'</span><span data-if="c" style="display:none">"add_error_code"</span><span data-if="cpp" style="display:none">"add_error_code"</span><span data-if="com" style="display:none">"add_error_code"</span><span data-if="dotnet" style="display:none">"add_error_code"</span><span data-if="python" style="display:none">"add_error_code"</span>, <span data-if="hdevelop" style="display:inline">'add_error_message'</span><span data-if="c" style="display:none">"add_error_message"</span><span data-if="cpp" style="display:none">"add_error_message"</span><span data-if="com" style="display:none">"add_error_message"</span><span data-if="dotnet" style="display:none">"add_error_message"</span><span data-if="python" style="display:none">"add_error_message"</span>, <span data-if="hdevelop" style="display:inline">'call_stack_depth'</span><span data-if="c" style="display:none">"call_stack_depth"</span><span data-if="cpp" style="display:none">"call_stack_depth"</span><span data-if="com" style="display:none">"call_stack_depth"</span><span data-if="dotnet" style="display:none">"call_stack_depth"</span><span data-if="python" style="display:none">"call_stack_depth"</span>, <span data-if="hdevelop" style="display:inline">'error_code'</span><span data-if="c" style="display:none">"error_code"</span><span data-if="cpp" style="display:none">"error_code"</span><span data-if="com" style="display:none">"error_code"</span><span data-if="dotnet" style="display:none">"error_code"</span><span data-if="python" style="display:none">"error_code"</span>, <span data-if="hdevelop" style="display:inline">'error_message'</span><span data-if="c" style="display:none">"error_message"</span><span data-if="cpp" style="display:none">"error_message"</span><span data-if="com" style="display:none">"error_message"</span><span data-if="dotnet" style="display:none">"error_message"</span><span data-if="python" style="display:none">"error_message"</span>, <span data-if="hdevelop" style="display:inline">'operator'</span><span data-if="c" style="display:none">"operator"</span><span data-if="cpp" style="display:none">"operator"</span><span data-if="com" style="display:none">"operator"</span><span data-if="dotnet" style="display:none">"operator"</span><span data-if="python" style="display:none">"operator"</span>, <span data-if="hdevelop" style="display:inline">'procedure'</span><span data-if="c" style="display:none">"procedure"</span><span data-if="cpp" style="display:none">"procedure"</span><span data-if="com" style="display:none">"procedure"</span><span data-if="dotnet" style="display:none">"procedure"</span><span data-if="python" style="display:none">"procedure"</span>, <span data-if="hdevelop" style="display:inline">'program_line'</span><span data-if="c" style="display:none">"program_line"</span><span data-if="cpp" style="display:none">"program_line"</span><span data-if="com" style="display:none">"program_line"</span><span data-if="dotnet" style="display:none">"program_line"</span><span data-if="python" style="display:none">"program_line"</span>, <span data-if="hdevelop" style="display:inline">'user_data'</span><span data-if="c" style="display:none">"user_data"</span><span data-if="cpp" style="display:none">"user_data"</span><span data-if="com" style="display:none">"user_data"</span><span data-if="dotnet" style="display:none">"user_data"</span><span data-if="python" style="display:none">"user_data"</span></p>
</div>
  <div class="par">
<div class="parhead">
<span id="Value" class="parname"><b><code><span data-if="hdevelop" style="display:inline">Value</span><span data-if="c" style="display:none">Value</span><span data-if="cpp" style="display:none">Value</span><span data-if="com" style="display:none">Value</span><span data-if="dotnet" style="display:none">value</span><span data-if="python" style="display:none">value</span></code></b> (output_control)  </span><span>attribute.value-array <code>→</code> <span data-if="dotnet" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="python" style="display:none">Sequence[Union[int, str]]</span><span data-if="cpp" style="display:none"><a href="HTuple.html">HTuple</a></span><span data-if="c" style="display:none">Htuple</span><span data-if="hdevelop" style="display:inline"> (integer / </span><span data-if="hdevelop" style="display:inline">string)</span><span data-if="dotnet" style="display:none"> (<i>int</i> / </span><span data-if="dotnet" style="display:none">long / </span><span data-if="dotnet" style="display:none">string)</span><span data-if="cpp" style="display:none"> (<i>Hlong</i> / </span><span data-if="cpp" style="display:none">HString)</span><span data-if="c" style="display:none"> (<i>Hlong</i> / </span><span data-if="c" style="display:none">char*)</span></span>
</div>
<p class="pardesc">Requested exception data.</p>
</div>
<h2 id="sec_result">结果</h2>
<p>If the values of the specified parameters are correct,
<code><span data-if="hdevelop" style="display:inline">dev_get_exception_data</span><span data-if="c" style="display:none">dev_get_exception_data</span><span data-if="cpp" style="display:none">DevGetExceptionData</span><span data-if="com" style="display:none">DevGetExceptionData</span><span data-if="dotnet" style="display:none">DevGetExceptionData</span><span data-if="python" style="display:none">dev_get_exception_data</span></code> (as operator) returns <TT>2</TT> (
      <TT>H_MSG_TRUE</TT>)
    .  Otherwise, an
exception is raised and an error code returned.</p>
<h2 id="sec_predecessors">可能的前置算子</h2>
<p>
<code><a href="catch.html"><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></a></code>
</p>
<h2 id="sec_see">参考其它</h2>
<p>
<code><a href="try.html"><span data-if="hdevelop" style="display:inline">try</span><span data-if="c" style="display:none">try</span><span data-if="cpp" style="display:none">Try</span><span data-if="com" style="display:none">Try</span><span data-if="dotnet" style="display:none">Try</span><span data-if="python" style="display:none">try</span></a></code>, 
<code><a href="catch.html"><span data-if="hdevelop" style="display:inline">catch</span><span data-if="c" style="display:none">catch</span><span data-if="cpp" style="display:none">Catch</span><span data-if="com" style="display:none">Catch</span><span data-if="dotnet" style="display:none">Catch</span><span data-if="python" style="display:none">catch</span></a></code>, 
<code><a href="endtry.html"><span data-if="hdevelop" style="display:inline">endtry</span><span data-if="c" style="display:none">endtry</span><span data-if="cpp" style="display:none">Endtry</span><span data-if="com" style="display:none">Endtry</span><span data-if="dotnet" style="display:none">Endtry</span><span data-if="python" style="display:none">endtry</span></a></code>, 
<code><a href="throw.html"><span data-if="hdevelop" style="display:inline">throw</span><span data-if="c" style="display:none">throw</span><span data-if="cpp" style="display:none">Throw</span><span data-if="com" style="display:none">Throw</span><span data-if="dotnet" style="display:none">Throw</span><span data-if="python" style="display:none">throw</span></a></code>, 
<code><a href="dev_set_check.html"><span data-if="hdevelop" style="display:inline">dev_set_check</span><span data-if="c" style="display:none">dev_set_check</span><span data-if="cpp" style="display:none">DevSetCheck</span><span data-if="com" style="display:none">DevSetCheck</span><span data-if="dotnet" style="display:none">DevSetCheck</span><span data-if="python" style="display:none">dev_set_check</span></a></code>
</p>
<h2 id="sec_module">模块</h2>
<p>
Foundation</p>
</div>
<!--OP_REF_FOOTER_START-->
<hr>
<div class="indexlink">
<a href="index_classes.html"><span data-if="dotnet" style="display:none;">类别</span><span data-if="cpp" style="display:none;">类别</span></a><span data-if="dotnet" style="display:none;"> | </span><span data-if="cpp" style="display:none;"> | </span><a href="index_by_name.html">算子列表</a>
</div>
<div class="footer">
<div class="copyright">HALCON算子参考手册 Copyright © 2015-2023 51Halcon</div>
</div>
</div>
</body>
</html>
